A thermal printer capable of variably controlling the printing speed is well known in the art, such as a thermal printer provided with a thermal head, a detection unit, a control unit, and the like. The thermal head has a plurality of heating elements arranged therein. The thermal head prints on a recording medium using heat generated from the heating elements. The thermal head generates heat through power supplied via an RLC circuit from a rechargeable battery or power supply. The detection unit detects the voltage supplied to the heating elements. The control unit controls the printing speed variably depending on the surplus power at the average current value (i.e., the average value of current supplied to the heating elements), and the average print coverage prior to the line to be printed.